Translation-Based Compositional Reasoning for Software Systems
نویسندگان
چکیده
Software systems are often model checked by translating them into a directly model-checkable formalism. Any serious software system requires application of compositional reasoning to overcome the computational complexity of model checking. This paper presents Translation-Based Compositional Reasoning (TBCR), an approach to application of compositional reasoning in the context of model checking software systems through model translation. In this approach, given a translation from a software semantics to a directly model-checkable formal semantics, a compositional reasoning rule is established in the software semantics and mapped to an equivalent rule in the formal semantics based on the translation. The correctness proof of the composition reasoning rule in the software semantics is established based on this mapping and the correctness proof of the equivalent rule in the formal semantics. The compositional reasoning rule in the software semantics is implemented and applied based on the translation from the software semantics to the formal semantics and reusing the implementation of the equivalent rule in the formal semantics. TBCR has been realized for a commonly used software semantics, the Asynchronous Interleaving Message-passing semantics. TBCR is illustrated by two applications of this realization.
منابع مشابه
Compositional Reasoning for Hardware/Software Co-verification
In this paper, we present and illustrate an approach to compositional reasoning for hardware/software co-verification of embedded systems. The major challenges in compositional reasoning for co-verification include: (1) the hardware/software semantic gaps, (2) lack of common property specification languages for hardware and software, and (3) lack of compositional reasoning rules that are applic...
متن کاملCompositional Performance Reasoning
A well-understood reason for component-based software engineering (CBSE) is improved productivity. CBSE is also important for another basic reason. It enables compositional or modular reasoning, and therefore, it facilitates production of high quality systems. In compositional reasoning, it is possible to reason about the behavior of the system using the behavioral specifications of reused comp...
متن کاملCompositional Programming and Testing of Dynamic Distributed Systems
Distributed systems are notoriously difficult to get right as they must deal with concurrency and failures. This paper proposes techniques for building reliable distributed systems with two central contributions: (1) We propose a module system based on the theory of compositional trace refinement for dynamic systems consisting of asynchronouslycommunicating state machines, where state machines ...
متن کاملTimed Probabilistic Reasoning on UML Specialization for Fault Tolerant Component Based Architectures
Architecture-based reasoning about reliability and fault tolerance is gaining increasing importance as component-based software architectures become more widespread. Architectural description languages (ADLs) are used to specify high-level views of software design. ADLs usually involve a static, structural view of a system together with a dynamic, state-transition-style semantics, facilitating ...
متن کاملAutomated Compositional Analysis for Checking Component Substitutability
Model checking is an automated technique to verify hardware and software systems formally. Most of the model checking research has focused on developing scalable techniques for verifying large systems. A number of techniques, e.g., symbolic methods, abstractions, compositional reasoning, etc. have been proposed towards this goal. While methods based on symbolic reasoning (using binary decision ...
متن کامل